// 目标：创建web、服务，准备编写网易新闻信息后端接口代码，给前端提供JSON字符串数据
// 1. 初始化npm环境已经文件夹创建（npm init）
// 2. 准备nodejs的web服务代码（复制）
// 3. ndoemon执行次js，启动web服务
// 4. 浏览器试着访问
// 目标.请求网易新闻的接口把数据返回到前端
// 注意：正常应该是连接数据库，但这里我们用到axios拿到数据返回
// 1.下载axios
// 2.引入axios
// 3.等自己前端请求过来后，使用axios去请求网易接口给自己前端
import http from 'http'
import axios from 'axios'
let apiObj = {
    '/api/head': 'http://c.m.163.com/nc/article/headline/T1348647853363/0-40.html',
    '/api/happy': 'http://c.m.163.com/nc/article/list/T1348648517839/0-40.html',
    '/api/sports': 'http://c.m.163.com/nc/article/list/T1348649079062/0-40.html',
    '/api/money': 'http://c.m.163.com/nc/article/list/T1348648756099/0-40.html',
    '/api/technology': 'http://c.m.163.com/nc/article/list/T1348649580692/0-40.html'
}

const server = http.createServer()
server.on('request', (req, res) => {
   if(req.url === '/'){
    res.setHeader('Content-Type', 'text/plain; charset=utf-8')
    res.end('欢迎使用接口服务')
   }else if(req.url.startsWith('/api')){
    // 判断前端请求过来的路径字符串，是否以'/api'开头的，如果是statrtWith原地返回true
    let targetUrl = apiObj[req.url]
    if(targetUrl){
        axios({
            url:'http://c.m.163.com/nc/article/headline/T1348647853363/0-40.html'
        }).then(result => {
            res.setHeader('Content-Type','application/json')
            // 开启cors（跨域资源共享策略），允许*（任何地址来访问此接口）
            res.setHeader('Access-Control-Allow-Origin','*')
            res.end(JSON.stringify(result.data))
        })
    }else{
        // 不匹配的话提示404
        res.statusCode = 404
        res.statusMessage = 'Not Found'
        res.setHeader('Content-Type', 'text/plain; charset=utf-8')
        res.end('请检查你的路径')
       }
   }else{
    // 不匹配的话提示404
    res.statusCode = 404
    res.statusMessage = 'Not Found'
    res.setHeader('Content-Type', 'text/plain; charset=utf-8')
    res.end('')
   }
})
server.listen(3000, () => {
    console.log('服务器启动成功: http://localhost:3000');
})